================ SecOC ================ 目标 ==== 本集成手册用于指导用户进行SecOC模块集成,文档主要包括的内容为:SecOC模块集成指导、基于示例应用的集成讲解。 由于各项目的需求不同,集成示例不会针对于特定的商业项目做详细讲解。 缩写词和术语 ============ .. table:: 表 +-----------------+------------------------------------------------------+ | **缩写词/术语** | **描述** | +-----------------+------------------------------------------------------+ | SecOC | Security On board Communication安全板载通信 | +-----------------+------------------------------------------------------+ | MCAL | Microcontroller Abstraction Layer微控制器抽象层 | +-----------------+------------------------------------------------------+ | CryIf | Crypto Interface Crypto接口 | +-----------------+------------------------------------------------------+ | Csm | Crypto ServiceManager Crypto服务管理 | +-----------------+------------------------------------------------------+ | MAC | Message Authentication Code消息认证码 | +-----------------+------------------------------------------------------+ 参考文档 ======== [1]《参考手册_CryIf.pdf》 [2]《参考手册_CSM.pdf》 [3]《参考手册_Crypto.pdf》 [4]《参考手册_SecOC.pdf》 SecOC集成 ========= 项目交付的内容为:SecOC源码和ORIENTAIS Studio配置工具。 SecOC相关配置模块的功能介绍,参见表 SecOC相关配置模块介绍。 使用SecOC源码和配置工具,进行SecOC的集成的步骤,参见表 SecOC集成的步骤。 .. table:: 表 SecOC相关配置模块介绍 +------------+------------------------------------------------------------------------------------------------------------------+ | **模块名** | **功能** | +------------+------------------------------------------------------------------------------------------------------------------+ | Can | 提供SecOC所需要的邮箱 | +------------+------------------------------------------------------------------------------------------------------------------+ | CANIf | CANIf模块主要处理上层模块与底层驱动的之间PDU的传递,为上层模块提供统一的接口来管理不同的CAN硬件模块 | +------------+------------------------------------------------------------------------------------------------------------------+ | EcuC | 用于辅助配置工具完成配置的模块。主要提供PDU的定义,其它模块通过关联EcuC中PDU,相互关联起来。 | +------------+------------------------------------------------------------------------------------------------------------------+ | PduR | PDU Router主要为通讯接口模块(CANIf)、传输协议模块(CAN TP、J1939 | | | TP)、诊断通讯管理模块(DCM、J1939DCM)以及通讯模块(COM、LDCOM)以及IPDUM、SECOC等模块提供基于I-PDU的路由服务。 | +------------+------------------------------------------------------------------------------------------------------------------+ | Com | COM模块主要提供I-PDU和信号相关管理功能 | +------------+------------------------------------------------------------------------------------------------------------------+ | Crypto | 为SecOC提供底层加密驱动程序 | +------------+------------------------------------------------------------------------------------------------------------------+ | Csm | Csm模块为Crypto进行抽象并为上层提供标准化接口 | +------------+------------------------------------------------------------------------------------------------------------------+ | SecOC | SecOC模块主要管理参与信息安全收发的PDU及相关属性 | +------------+------------------------------------------------------------------------------------------------------------------+ .. table:: 表 SecOC集成的步骤 +----------+-------------------------------------------+---------------------------------------------------------+ | **步骤** | **操作** | **说明** | +----------+-------------------------------------------+---------------------------------------------------------+ | 1 | ORIENTAIS | 若配置工具已经搭建,则仅需进行SecOC相关模块的加载操作。 | | | Studio配置工具工程搭建和SecOC相关模块加载 | | +----------+-------------------------------------------+---------------------------------------------------------+ | 2 | 模块配置及配置文件生成 | NA | +----------+-------------------------------------------+---------------------------------------------------------+ | 3 | 代码集成 | 现有工程、SecOC相关模块源代码和配置生成文件的集成。 | +----------+-------------------------------------------+---------------------------------------------------------+ | 4 | 验证测试 | NA | +----------+-------------------------------------------+---------------------------------------------------------+ .. note:: **SecOC模块集成之前,用户须确保已经有基础工程。** 新建ORIENTAIS Studio配置工程及模块加载 -------------------------------------- #. 安装ORIENTAIS Studio软件后,双击软件图标打开软件。 |image1| 图 新建工程-1 #. 菜单栏File🡪New🡪Project,新建工程。 |image2| 图 新建工程-2 #. 在弹出的新建窗口中选择Autosar下的 [BSW Project],选择Next。 |image3| 图 新建工程-3 #. 在弹出的窗口中输入工程名,选择Finish。 |image4| 图 新建工程-4 #. 在弹出的窗口中选择Yes。 |image5| 图 新建工程-5 #. 选择[Bsw_Builder],右键单击,选择New ECU Configuration。 |image6| 图 新建工程-6 #. 在弹出的窗口中输入ECU名,然后选择Next。 |image7| 图 新建工程-7 #. 在弹出的窗口中勾选需添加的模块,点击Finish。 |image8| 图 新建工程-8 #. 新建工程如下所示,上一步添加的模块已经被加入到工程中。 |image9| 图 新建工程-9 #. MCAL配置导入,BSW模块需要依赖MCAL生成的CAN模块 #. 从MCAL配置工具生成arxml |image10| 图 新建工程-10 |image11| 图 新建工程-11 #. 导入BSW工具 |image12| 图 新建工程-12 |image13| 图 新建工程-13 |image14| 图 新建工程-14 模块配置及生成代码 ------------------ 该章节主要介绍SecOC模块的配置参数,列举配置项在配置界面显示的名称、可能的取值、默认的取值、参数描述及依赖关系,旨在指导用户如何使用配置工具进行SecOC模块参数的配置。 目标:配置一组报文进行SecOC的正常收发 .. table:: 表 配置目标 +---------+---------+---------+------------+------------+------------+ | 类型 | CANID | Date | 新鲜度长度 | MAC值长度 | SecOCID | +---------+---------+---------+------------+------------+------------+ | TX | 0x3E0 | 6Bytes | 2Bytes | 16Bytes | 2Bytes | +---------+---------+---------+------------+------------+------------+ | RX | 0x2E0 | 6Bytes | 2Bytes | 16Bytes | 2Bytes | +---------+---------+---------+------------+------------+------------+ 表格名词解析如下表介绍 .. table:: 表 属性描述 +-----------+----------------------------------------------------------+ | UI名称 | 该配置项在配置工具界面显示的名称 | +-----------+----------------------------------------------------------+ | 取值范围 | 该配置项允许的取值区间 | +-----------+----------------------------------------------------------+ | 默认取值 | 该配置项默认的配置值 | +-----------+----------------------------------------------------------+ | 参数描述 | 该配置项在标准的AUTOSAR_EcucParamDef.arxml文件中的描述 | +-----------+----------------------------------------------------------+ | 依赖关系 | 该配置项与其他模块或配置项的关系 | +-----------+----------------------------------------------------------+ Ecuc配置 -------- 一帧SecOC报文对应于四组ECUC和PDUR的两组路由组,分别对应于CANIf和COM使用。 EcucConfigSet ~~~~~~~~~~~~~~ 如表 配置目标,示例中使用CANFD,数据整体长度是24Bytes(此长度不包含SecOCID)。 配置Ecuc包含的发送、接收信息 COM -> SecOC_Authentic_Tx -> SecOC_Secured_Tx -> SecOC_Tx SecOC_Rx -> SecOC_Secured_Rx -> SecOC_Authentic_Rx -> COM |image15| 图 EcucConfigSet #. 配置COM发送、接收信息: COM_CAN1_Rx_0x2E0_SecOC/COM_CAN1_Tx_0x3E0_SecOC,长度为6 #. 配置CANIf的发送、接收信息: CANIF_CAN1_Rx_0x2E0_SecOC/CANIF_CAN1_Tx_0x3E0_SecOC,长度为24 #. 配置SecOC的加密、真实的发送、接收信息: #. 加密数据: CAN1_Tx_0x3E0_SecOC_Authentic/CAN1_Rx_0x2E0_SecOC_Authentic,长度为6 #. 安全数据: CAN1_Tx_0x3E0_SecOC_Secured/CAN1_Rx_0x2E0_SecOC_Secured,长度为24 CanIf的配置 ----------- CanIfRx ~~~~~~~~ CanIf主要是对报文属性的定义,包含了CANID和DLC以及帧类型等重要数据。 |image16| 图 CanIfInitCfgRX配置 #. 配置接收报文的ID 0x2E0这个信息和底层的邮箱信息相匹配。 #. 配置帧类型是STANDARD_FD_CAN。 #. DLC的长度,接收数据为24字节。 填写接收报文的ID,确定数据帧的类型以及数据长度,选择此数据的PDUHrH,以及CanIfRxPduRef。 表 CanIfRx界面配置说明 +----------------------------------+-----------------+--------------------+------------------+------------------+ | **UI名称** | **描述** | +----------------------------------+-----------------+--------------------+------------------+------------------+ | **CanIfRxPduCanId** | 取值范围 | 0-0x7FF | 默认取值 | 0x00 | | +-----------------+--------------------+------------------+------------------+ | | 参数描述 | 报文的ID | | +-----------------+----------------------------------------------------------+ | | 依赖关系 | 无 | +----------------------------------+-----------------+--------------------+------------------+------------------+ | **CanIfRxPduCanIdType** | 取值范围 | 无 | 默认取值 | STABDARD_CAN | | +-----------------+--------------------+------------------+------------------+ | | 参数描述 | 帧类型 | | +-----------------+----------------------------------------------------------+ | | 依赖关系 | 无 | +----------------------------------+-----------------+--------------------+------------------+------------------+ | **CanIfRxPduDlc** | 取值范围 | 0-32 | 默认取值 | 8 | | +-----------------+--------------------+------------------+------------------+ | | 参数描述 | 报文长度 | | +-----------------+----------------------------------------------------------+ | | 依赖关系 | 无 | +----------------------------------+-----------------+--------------------+------------------+------------------+ | **CanIfRxPduUserRxIndicationUL** | 取值范围 | 无 | 默认取值 | PDUR | | +-----------------+--------------------+------------------+------------------+ | | 参数描述 | 接收报文所属的规范类型 | | +-----------------+----------------------------------------------------------+ | | 依赖关系 | 无 | +----------------------------------+-----------------+--------------------+------------------+------------------+ | **CanIfRxPduHrhIdRef** | 取值范围 | 无 | 默认取值 | HRH | | +-----------------+--------------------+------------------+------------------+ | | 参数描述 | Rx L-PDU所属的HRH通过该参数引用 | | +-----------------+----------------------------------------------------------+ | | 依赖关系 | 无 | +----------------------------------+-----------------+--------------------+------------------+------------------+ | **CanIfRxPduRef** | 取值范围 | 无 | 默认取值 | - | | +-----------------+--------------------+------------------+------------------+ | | 参数描述 | 引用“全局”Pdu结构,以允许协调com堆栈中的句柄id | | +-----------------+----------------------------------------------------------+ | | 依赖关系 | 无 | +----------------------------------+-----------------+----------------------------------------------------------+ CanIfTx ~~~~~~~~ |image17| 图 CanIfInitCfgTX配置 #. 配置发送报文的ID 0x3E0这个信息和底层的邮箱信息相匹配。 #. 配置帧类型STANDARD_FD_CAN。。 填写发送报文的ID,确定数据帧的类型,选择此数据的PDUHrH,以及CanIfTxPduRef。 表 CanIfTx界面配置说明 +----------------------------------+-----------------+--------------------+------------------+------------------+ | **UI名称** | **描述** | +----------------------------------+-----------------+--------------------+------------------+------------------+ | **CanIfTxPduType** | 取值范围 | 0-0x7FF | 默认取值 | 0x00 | | +-----------------+--------------------+------------------+------------------+ | | 参数描述 | 报文的ID | | +-----------------+----------------------------------------------------------+ | | 依赖关系 | 无 | +----------------------------------+-----------------+--------------------+------------------+------------------+ | **CanIfTxPduCanIdType** | 取值范围 | 无 | 默认取值 | STABDARD_CAN | | +-----------------+--------------------+------------------+------------------+ | | 参数描述 | 帧类型 | | +-----------------+----------------------------------------------------------+ | | 依赖关系 | 无 | +----------------------------------+-----------------+--------------------+------------------+------------------+ | **CanIfTxPduType** | 取值范围 | 无 | 默认取值 | STATIC | | +-----------------+--------------------+------------------+------------------+ | | 参数描述 | 是否可以更改CANID | | +-----------------+----------------------------------------------------------+ | | 依赖关系 | 无 | +----------------------------------+-----------------+--------------------+------------------+------------------+ | **CanIfTxPduUserRxIndicationUL** | 取值范围 | 无 | 默认取值 | PDUR | | +-----------------+--------------------+------------------+------------------+ | | 参数描述 | 接收报文所属的规范类型 | | +-----------------+----------------------------------------------------------+ | | 依赖关系 | 无 | +----------------------------------+-----------------+--------------------+------------------+------------------+ | **CanIfTxPduBufferRef** | 取值范围 | 无 | 默认取值 | - | | +-----------------+--------------------+------------------+------------------+ | | 参数描述 | 对CanIf缓冲区配置的可配置引用 | | +-----------------+----------------------------------------------------------+ | | 依赖关系 | 无 | +----------------------------------+-----------------+--------------------+------------------+------------------+ | **CanIfTxPduRef** | 取值范围 | 无 | 默认取值 | - | | +-----------------+--------------------+------------------+------------------+ | | 参数描述 | 引用“全局”PDU结构,以允许协调com堆栈中的句柄id | | +-----------------+----------------------------------------------------------+ | | 依赖关系 | 无 | +----------------------------------+-----------------+----------------------------------------------------------+ PDUR ---- PduRBswModules ~~~~~~~~~~~~~~~ |image18| 图 PduRBswModules配置 #. 打开发送确认(PduRTxConfirmation)。 #. Module引用SecOC模块。 此界面包含函数接口的宏开关以及PDU路由器模块应使用传输协议接口指定的API参数。PduRBswModuleRef需要在添加SecOC模块之后才可出现选择项。 表 PduRBswModules界面配置说明 +------------------------+-----------------+--------------------+------------------+------------------+ | **UI名称** | **描述** | +------------------------+-----------------+--------------------+------------------+------------------+ | **PduRCancelTransmit** | 取值范围 | True / False | 默认取值 | False | | +-----------------+--------------------+------------------+------------------+ | | 参数描述 | 取消发送函数的宏开关 | | +-----------------+----------------------------------------------------------+ | | 依赖关系 | 无 | +------------------------+-----------------+--------------------+------------------+------------------+ | **PduRTxConfirmation** | 取值范围 | True / False | 默认取值 | False | | +-----------------+--------------------+------------------+------------------+ | | 参数描述 | 发送确认函数的宏开关 | | +-----------------+----------------------------------------------------------+ | | 依赖关系 | 无 | +------------------------+-----------------+--------------------+------------------+------------------+ | **PduRBswModuleRef** | 取值范围 | 无 | 默认取值 | 无 | | +-----------------+--------------------+------------------+------------------+ | | 参数描述 | 这是对一个BSW模块配置的引用 | | +-----------------+----------------------------------------------------------+ | | 依赖关系 | 无 | +------------------------+-----------------+----------------------------------------------------------+ PduRRoutingTables ~~~~~~~~~~~~~~~~~~ 在界面配置路由表,包含在ECUC里面配置的句柄信息以及数据流向,本文档中在此只关注SecOC报文。 |image19| 图 路由表配置 如上述的章节(Ecuc配置)里面已经描述SecOC配置的ECUC的分组信息,在此配置发送是两组,接收是两组,分别在CanIf和COM里面进行传输,普通报文仅只有COM和CanIf两者之间传输而已,并不包含SecOC的附加信息。 发送路由表 ^^^^^^^^^^ 发送的数据信息的传输如下图所示: |image20| 图 发送数据流 分析路由表的配置以下: 一、真实数据发送PduR组 源发送数据(此数据和下面的数据为一组,在COM往下发的时候传输使用,和安全的数据不一样,此为真实数据组8Bytes)。 |image21| 图 COM发送数据流Src #. 启动传输需要打开,否则无法传输。 #. 目的PDU参考为COM来的PDU,选择COM_CAN1_Tx_0x3E0_SecOC\发送的时候数据从COM源发送真实数据到真实数据配置的ECUC\PduRSrcPdus -> PduRDestPdus 表 PduRSrcPdus界面配置说明TxCom +------------------------+-----------------+----------------------+----------------------+----------------------+ | **UI名称** | **描述** | +------------------------+-----------------+----------------------+----------------------+----------------------+ | **PduRSrcPduUpTxConf** | 取值范围 | True / False | 默认取值 | True | | +-----------------+----------------------+----------------------+----------------------+ | | 参数描述 | 启动传输 | | +-----------------+--------------------------------------------------------------------+ | | 依赖关系 | 无 | +------------------------+-----------------+----------------------+----------------------+----------------------+ | **PduRSrcPduRef** | 取值范围 | 无 | 默认取值 | 无 | | +-----------------+----------------------+----------------------+----------------------+ | | 参数描述 | 源PDU参考;引用唯一的PDU标识符,应使用用于请求的PDU路由器操作 | | +-----------------+--------------------------------------------------------------------+ | | 依赖关系 | 无 | +------------------------+-----------------+--------------------------------------------------------------------+ 目的发送数据(此数据和上面的数据为一组6Bytes) |image22| 图 COM发送数据流Dest #. 选择数据的传输方式为直接传输。 #. 此路由和TP无关报文走的是If,不需勾选PduRTpThreshold。 #. 目的PDU参考为真实PDU,选择CAN1_Tx_0x3E0_SecOC_Authentic。 表 PduRSrcPdus界面配置说明TxCom +----------------------------------+-----------------+-----------------------------------+-----------------------------------+-----------------------------------+ | **UI名称** | **描述** | +----------------------------------+-----------------+-----------------------------------+-----------------------------------+-----------------------------------+ | **PduRDestPduDataProvision** | 取值范围 | 无 | 默认取值 | 无 | | +-----------------+-----------------------------------+-----------------------------------+-----------------------------------+ | | 参数描述 | 指定如何提供数据:direct(作为传输调用的一部分)或via | | +-----------------+-----------------------------------------------------------------------------------------------------------+ | | 依赖关系 | 无 | +----------------------------------+-----------------+-----------------------------------+-----------------------------------+-----------------------------------+ | **PduRTpThreshold** | 取值范围 | 0…255 | 默认取值 | 0 | | +-----------------+-----------------------------------+-----------------------------------+-----------------------------------+ | | 参数描述 | 此参数仅与TP路由相关。 | | +-----------------+-----------------------------------------------------------------------------------------------------------+ | | 依赖关系 | 无 | +----------------------------------+-----------------+-----------------------------------+-----------------------------------+-----------------------------------+ | **PduRTransmissionConfirmation** | 取值范围 | True / False | 默认取值 | True | | +-----------------+-----------------------------------+-----------------------------------+-----------------------------------+ | | 参数描述 | 此参数仅用于通信接口。传输协议模块将始终调用TxConfirmation函数 | | +-----------------+-----------------------------------------------------------------------------------------------------------+ | | 依赖关系 | 无 | +----------------------------------+-----------------+-----------------------------------+-----------------------------------+-----------------------------------+ | **PduRDestPduRef** | 取值范围 | 无 | 默认取值 | SecOC_Authentic_Tx0 | | +-----------------+-----------------------------------+-----------------------------------+-----------------------------------+ | | 参数描述 | 目的地PDU参考;当调用目标模块的相关函数时,由PDU路由器引用唯一的PDU标识符应使用而不是源PDU标识符 | | +-----------------+-----------------------------------------------------------------------------------------------------------+ | | 依赖关系 | 无 | +----------------------------------+-----------------+-----------------------------------------------------------------------------------------------------------+ 二、安全数据PduR组 CAN1_Tx_0x3E0_SecOC_Secured -> CANIF_CAN1_Tx_0x3E0_SecOC为PduR的数据流向 安全PduR源目的的数据如下: 源发送数据(此数据和下面的数据为一组,在CanIf往外发的时候传输使用,和真实的数据不一样,此为安全数据组24Bytes)。 |image23| 图 CanIf发送数据流Src #. 启动传输需要打开,否则无法传输。 #. PDU参考为安全的PDU,选择CAN1_Tx_0x3E0_SecOC_Secured 表 PduRSrcPdus界面配置说明TxCanIf +------------------------+-----------------+----------------------+----------------------+----------------------+ | **UI名称** | **描述** | +------------------------+-----------------+----------------------+----------------------+----------------------+ | **PduRSrcPduUpTxConf** | 取值范围 | True / False | 默认取值 | True | | +-----------------+----------------------+----------------------+----------------------+ | | 参数描述 | 启动传输 | | +-----------------+--------------------------------------------------------------------+ | | 依赖关系 | 无 | +------------------------+-----------------+----------------------+----------------------+----------------------+ | **PduRSrcPduRef** | 取值范围 | 无 | 默认取值 | 无 | | +-----------------+----------------------+----------------------+----------------------+ | | 参数描述 | 源PDU参考;引用唯一的PDU标识符,应使用用于请求的PDU路由器操作 | | +-----------------+--------------------------------------------------------------------+ | | 依赖关系 | 无 | +------------------------+-----------------+--------------------------------------------------------------------+ 安全PduR目的数据如下: 目的发送数据(此数据和上面的数据为一组24Bytes) |image24| 图 CanIf发送数据流Dest #. 选择数据的传输方式为直接传输。 #. 和TP无关报文走的是If,填写0. #. 目的PDU参考为CanIf的PDU,选择CANIF_CAN1_Tx_0x3E0_SecOC 表 PduRSrcPdus界面配置说明TxCom +----------------------------------+-----------------+-----------------------------------+-----------------------------------+-----------------------------------+ | **UI名称** | **描述** | +----------------------------------+-----------------+-----------------------------------+-----------------------------------+-----------------------------------+ | **PduRDestPduDataProvision** | 取值范围 | 无 | 默认取值 | 无 | | +-----------------+-----------------------------------+-----------------------------------+-----------------------------------+ | | 参数描述 | 指定如何提供数据:direct(作为传输调用的一部分)或via | | +-----------------+-----------------------------------------------------------------------------------------------------------+ | | 依赖关系 | 无 | +----------------------------------+-----------------+-----------------------------------+-----------------------------------+-----------------------------------+ | **PduRTpThreshold** | 取值范围 | 0…255 | 默认取值 | 0 | | +-----------------+-----------------------------------+-----------------------------------+-----------------------------------+ | | 参数描述 | 此参数仅与TP路由相关。 | | +-----------------+-----------------------------------------------------------------------------------------------------------+ | | 依赖关系 | 无 | +----------------------------------+-----------------+-----------------------------------+-----------------------------------+-----------------------------------+ | **PduRTransmissionConfirmation** | 取值范围 | True / False | 默认取值 | True | | +-----------------+-----------------------------------+-----------------------------------+-----------------------------------+ | | 参数描述 | 此参数仅用于通信接口。传输协议模块将始终调用TxConfirmation函数 | | +-----------------+-----------------------------------------------------------------------------------------------------------+ | | 依赖关系 | 无 | +----------------------------------+-----------------+-----------------------------------+-----------------------------------+-----------------------------------+ | **PduRDestPduRef** | 取值范围 | 无 | 默认取值 | SecOC_Authentic_Tx0 | | +-----------------+-----------------------------------+-----------------------------------+-----------------------------------+ | | 参数描述 | 目的地PDU参考;当调用目标模块的相关函数时,由PDU路由器引用唯一的PDU标识符应使用而不是源PDU标识符 | | +-----------------+-----------------------------------------------------------------------------------------------------------+ | | 依赖关系 | 无 | +----------------------------------+-----------------+-----------------------------------------------------------------------------------------------------------+ .. note:: 如果已在DBC里面配置SecOC报文,需要删除工具里生成的这一层的PduR,手动的去配置。因为目前DBC需求中没有明确信息表明是SecOC报文,所以会按照非加密报文生成通信栈里面的信息,需要按照本文档写的配置说明去手动更改配置的信息(Ecuc-CanIf-PduR-COM-SecOC的顺序配置)或者在DBC中删除多余信号。 接收路由表 ^^^^^^^^^^ 接收数据信息的传输如下图所示: |image25| 图 接收数据流 路由表的配置如下: 一、加密数据接收PduR组 源发送数据(此数据和下面的数据为一组,在Can接收的时候传输使用,和真实的数据不一样,此为安全数据组24Bytes)。 |image26| 图 CanIf接收数据流Src #. 启动传输需要打开,否则无法传输。 #. 源PDU参考为CanIf的PDU,选择CANIF_CAN1_Rx_0x2E0_SecOC 表 PduRSrcPdus界面配置说明RxCanIf +------------------------+-----------------+----------------------+----------------------+----------------------+ | **UI名称** | **描述** | +------------------------+-----------------+----------------------+----------------------+----------------------+ | **PduRSrcPduUpTxConf** | 取值范围 | True / False | 默认取值 | True | | +-----------------+----------------------+----------------------+----------------------+ | | 参数描述 | 启动传输 | | +-----------------+--------------------------------------------------------------------+ | | 依赖关系 | 无 | +------------------------+-----------------+----------------------+----------------------+----------------------+ | **PduRSrcPduRef** | 取值范围 | 无 | 默认取值 | 无 | | +-----------------+----------------------+----------------------+----------------------+ | | 参数描述 | 源PDU参考;引用唯一的PDU标识符,应使用用于请求的PDU路由器操作 | | +-----------------+--------------------------------------------------------------------+ | | 依赖关系 | 无 | +------------------------+-----------------+--------------------------------------------------------------------+ 接收时,安全数据从CanIf源接收外部的数据,路由到SecOC安全的数据配置的ECUC。 |image27| 图 CanIf接收数据流Dest #. 选择数据的传输方式为直接传输。 #. 和TP无关报文走的是If,填写0. #. 目的PDU参考为安全的PDU,选择CAN1_Rx_0x2E0_SecOC_Secured 表 PduRSrcPdus界面配置说明RxCanIf +----------------------------------+-----------------+-----------------------------------+-----------------------------------+-----------------------------------+ | **UI名称** | **描述** | +----------------------------------+-----------------+-----------------------------------+-----------------------------------+-----------------------------------+ | **PduRDestPduDataProvision** | 取值范围 | 无 | 默认取值 | 无 | | +-----------------+-----------------------------------+-----------------------------------+-----------------------------------+ | | 参数描述 | 指定如何提供数据:direct(作为传输调用的一部分)或via | | +-----------------+-----------------------------------------------------------------------------------------------------------+ | | 依赖关系 | 无 | +----------------------------------+-----------------+-----------------------------------+-----------------------------------+-----------------------------------+ | **PduRTpThreshold** | 取值范围 | 0…255 | 默认取值 | 0 | | +-----------------+-----------------------------------+-----------------------------------+-----------------------------------+ | | 参数描述 | 此参数仅与TP路由相关。 | | +-----------------+-----------------------------------------------------------------------------------------------------------+ | | 依赖关系 | 无 | +----------------------------------+-----------------+-----------------------------------+-----------------------------------+-----------------------------------+ | **PduRTransmissionConfirmation** | 取值范围 | True / False | 默认取值 | True | | +-----------------+-----------------------------------+-----------------------------------+-----------------------------------+ | | 参数描述 | 此参数仅用于通信接口。传输协议模块将始终调用TxConfirmation函数 | | +-----------------+-----------------------------------------------------------------------------------------------------------+ | | 依赖关系 | 无 | +----------------------------------+-----------------+-----------------------------------+-----------------------------------+-----------------------------------+ | **PduRDestPduRef** | 取值范围 | 无 | 默认取值 | 无 | | +-----------------+-----------------------------------+-----------------------------------+-----------------------------------+ | | 参数描述 | 目的地PDU参考;当调用目标模块的相关函数时,由PDU路由器引用唯一的PDU标识符应使用而不是源PDU标识符 | | +-----------------+-----------------------------------------------------------------------------------------------------------+ | | 依赖关系 | 无 | +----------------------------------+-----------------+-----------------------------------------------------------------------------------------------------------+ 二、真实数据接收PduR组 这是PduR源目的的数据如下: 源发送数据(此数据和下面的数据为一组,在COM接收的时候传输使用,和安全的数据不一样,此为安全数据组6Bytes)。 |image28| 图 COM接收数据流Src #. 启动传输需要打开,否则无法传输。 #. 源PDU参考为真实的PDU,选择CAN1_Rx_0x2E0_SecOC_Authentic 表 PduRSrcPdus界面配置说明RxCom +------------------------+-----------------+----------------------+----------------------+----------------------+ | **UI名称** | **描述** | +------------------------+-----------------+----------------------+----------------------+----------------------+ | **PduRSrcPduUpTxConf** | 取值范围 | True / False | 默认取值 | True | | +-----------------+----------------------+----------------------+----------------------+ | | 参数描述 | 启动传输 | | +-----------------+--------------------------------------------------------------------+ | | 依赖关系 | 无 | +------------------------+-----------------+----------------------+----------------------+----------------------+ | **PduRSrcPduRef** | 取值范围 | 无 | 默认取值 | 无 | | +-----------------+----------------------+----------------------+----------------------+ | | 参数描述 | 源PDU参考;引用唯一的PDU标识符,应使用用于请求的PDU路由器操作 | | +-----------------+--------------------------------------------------------------------+ | | 依赖关系 | 无 | +------------------------+-----------------+--------------------------------------------------------------------+ 真实PduR目的的数据如下: 目的接收数据(此数据和上面的数据为一组6Bytes) |image29| 图 COM接收数据流Dest #. 选择数据的传输方式为直接传输。 #. 和TP无关报文走的是If,填写0. #. 目的PDU参考为COM的PDU,选择COM_CAN1_Rx_0x2E0_SecOC 表 PduRDestPdus界面配置说明RxCom +----------------------------------+-----------------+-----------------------------------+-----------------------------------+-----------------------------------+ | **UI名称** | **描述** | +----------------------------------+-----------------+-----------------------------------+-----------------------------------+-----------------------------------+ | **PduRDestPduDataProvision** | 取值范围 | 无 | 默认取值 | 无 | | +-----------------+-----------------------------------+-----------------------------------+-----------------------------------+ | | 参数描述 | 指定如何提供数据:direct(作为传输调用的一部分)或via | | +-----------------+-----------------------------------------------------------------------------------------------------------+ | | 依赖关系 | 无 | +----------------------------------+-----------------+-----------------------------------+-----------------------------------+-----------------------------------+ | **PduRTpThreshold** | 取值范围 | 0…255 | 默认取值 | 0 | | +-----------------+-----------------------------------+-----------------------------------+-----------------------------------+ | | 参数描述 | 此参数仅与TP路由相关。 | | +-----------------+-----------------------------------------------------------------------------------------------------------+ | | 依赖关系 | 无 | +----------------------------------+-----------------+-----------------------------------+-----------------------------------+-----------------------------------+ | **PduRTransmissionConfirmation** | 取值范围 | True / False | 默认取值 | True | | +-----------------+-----------------------------------+-----------------------------------+-----------------------------------+ | | 参数描述 | 此参数仅用于通信接口。传输协议模块将始终调用TxConfirmation函数 | | +-----------------+-----------------------------------------------------------------------------------------------------------+ | | 依赖关系 | 无 | +----------------------------------+-----------------+-----------------------------------+-----------------------------------+-----------------------------------+ | **PduRDestPduRef** | 取值范围 | 无 | 默认取值 | 无 | | +-----------------+-----------------------------------+-----------------------------------+-----------------------------------+ | | 参数描述 | 目的地PDU参考;当调用目标模块的相关函数时,由PDU路由器引用唯一的PDU标识符应使用而不是源PDU标识符 | | +-----------------+-----------------------------------------------------------------------------------------------------------+ | | 依赖关系 | 无 | +----------------------------------+-----------------+-----------------------------------------------------------------------------------------------------------+ COM --- DBC的配置 ~~~~~~~~~~ #. TX(信号只需要定义有效数据即可,本文档采用大端法) |image30| 图 TX_DBC的定义 #. RX(信号只需要定义有效数据即可,本文档采用大端法) |image31| 图 RX_DBC的定义 #. 附加的信息不必要占用任何的DBC里面的信息,描述包含:新鲜度、MAC、SecOCID。 ComConfig ~~~~~~~~~~ Tx信号的配置 ^^^^^^^^^^^^ CAN1_Tx_0x3E0_Sig_1_U48_CAN1_Tx_0x3E0_SecOC信号的定义 |image32| 图 TX信号 #. 数据的起始位和位长度可以根据DBC的导入获得,或者根据大端和小端的方式来确定,本示例使用大端配置。 #. 信号类型采用:大端法。 #. 信号的初始值:此处可人为填写,也可以在测试的时候更改这个值,验证功能,示例按照图所示字节填写即可。 #. 信号类型:这个很重要,后面的测试转发报文的需要信号的类型相匹配,此选项是48Bits,选择UINT64。 表 ComConfig界面配置说明 +--------------------------+------------------+------------------------------------------------------+------------------------------------------------------+------------------------------------------------------+ | UI名称 | 描述 | +--------------------------+------------------+------------------------------------------------------+------------------------------------------------------+------------------------------------------------------+ | **ComBitPosition** | 取值范围 | 0..4294967295 | 默认取值 | 无 | | +------------------+------------------------------------------------------+------------------------------------------------------+------------------------------------------------------+ | | 参数描述 | I-PDU内的起始位置该参数指的是I-PDU中的位置,而不是影子缓冲区中的位置如果将字节序转换配置为不透明,则参数ComBitPosition应定义第一个字节的bit0,如小端字节顺序 | | +------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | | 依赖关系 | 无 | +--------------------------+------------------+------------------------------------------------------+------------------------------------------------------+------------------------------------------------------+ | **ComSignalEndianness** | 取值范围 | BIG_ENDIAN | 默认取值 | 无 | | | | | | | | | | LITTLE_ENDIAN | | | | | | | | | | | | OPAQUE | | | | +------------------+------------------------------------------------------+------------------------------------------------------+------------------------------------------------------+ | | 参数描述 | 定义信号网络表示的字节顺序 | | +------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | | 依赖关系 | 无 | +--------------------------+------------------+------------------------------------------------------+------------------------------------------------------+------------------------------------------------------+ | **ComSignalInitValue** | 取值范围 | 与信号类型有关 | 默认取值 | 0 | | +------------------+------------------------------------------------------+------------------------------------------------------+------------------------------------------------------+ | | 参数描述 | 此信号的初始值在UINT8_N的情况下,默认值是一个长度为ComSignalLength的字符串,所有字节都设置为0x00在UINT8_DYN的情况下,初始大小应为0 | | +------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | | 依赖关系 | 在UINT8_N的情况下,ComSignalInitValue的长度必须与ComSignalLength的长度相同。 | +--------------------------+------------------+------------------------------------------------------+------------------------------------------------------+------------------------------------------------------+ | **ComTransferProperty** | 取值范围 | PENDING | 默认取值 | PENDING | | | | | | | | | | TRIGGERED TRIGGERED_ON_CHANGE | | | | | | | | | | | | TRIGGERED_ON_CHANGE_WITHOUT_REPETITION | | | | | | | | | | | | TRIGGERED_WITHOUT_REPETITION | | | | +------------------+------------------------------------------------------+------------------------------------------------------+------------------------------------------------------+ | | 参数描述 | 定义对此信号的写访问是否可以触发相应I-PDU的传输如果I-PDU被触发,则还取决于相应I-PDU的传输模式 | | +------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | | 依赖关系 | 无 | +--------------------------+------------------+------------------------------------------------------+------------------------------------------------------+------------------------------------------------------+ | **ComUpdateBitPosition** | 取值范围 | 0..4294967295 | 默认取值 | 无 | | +------------------+------------------------------------------------------+------------------------------------------------------+------------------------------------------------------+ | | 参数描述 | 更新位在I-PDU内的位位置 | | +------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | | 依赖关系 | 无 | +--------------------------+------------------+------------------------------------------------------+------------------------------------------------------+------------------------------------------------------+ | **ComGwIPduRef** | 取值范围 | 引用[ComIPdu] | 默认取值 | 无 | | +------------------+------------------------------------------------------+------------------------------------------------------+------------------------------------------------------+ | | 参数描述 | 引用Signal Gateway源或目的地描述的I-PDU | | +------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | | 依赖关系 | 无 | +--------------------------+------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ Rx信号的配置 ^^^^^^^^^^^^ CAN1_Rx_0x2E0_Sig_1_U48_CAN1_Rx_0x2E0_SecOC的定义 |image33| 图 RX信号 #. 数据的起始位和位长度可以根据DBC的导入获得,或者根据大端和小端的方式来确定,在这里采用大端法。 #. 信号类型采用:大端法。 #. 信号的初始值:接收数据无需配置,默认即可。 #. 信号类型:这个很重要,后面的测试转发报文的需要信号的类型相匹配,此选项是48Bits,选择UINT64。 表 ComConfig界面配置说明R +--------------------------+------------------+------------------------------------------------------+------------------------------------------------------+------------------------------------------------------+ | UI名称 | 描述 | +--------------------------+------------------+------------------------------------------------------+------------------------------------------------------+------------------------------------------------------+ | **ComBitPosition** | 取值范围 | 0..4294967295 | 默认取值 | 无 | | +------------------+------------------------------------------------------+------------------------------------------------------+------------------------------------------------------+ | | 参数描述 | I-PDU内的起始位置该参数指的是I-PDU中的位置,而不是影子缓冲区中的位置如果将字节序转换配置为不透明,则参数ComBitPosition应定义第一个字节的bit0,如小端字节顺序 | | +------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | | 依赖关系 | 无 | +--------------------------+------------------+------------------------------------------------------+------------------------------------------------------+------------------------------------------------------+ | **ComSignalEndianness** | 取值范围 | BIG_ENDIAN | 默认取值 | 无 | | | | | | | | | | LITTLE_ENDIAN | | | | | | | | | | | | OPAQUE | | | | +------------------+------------------------------------------------------+------------------------------------------------------+------------------------------------------------------+ | | 参数描述 | 定义信号网络表示的字节顺序 | | +------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | | 依赖关系 | 无 | +--------------------------+------------------+------------------------------------------------------+------------------------------------------------------+------------------------------------------------------+ | **ComSignalInitValue** | 取值范围 | 与信号类型有关 | 默认取值 | 0 | | +------------------+------------------------------------------------------+------------------------------------------------------+------------------------------------------------------+ | | 参数描述 | 此信号的初始值在UINT8_N的情况下,默认值是一个长度为ComSignalLength的字符串,所有字节都设置为0x00在UINT8_DYN的情况下,初始大小应为0 | | +------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | | 依赖关系 | 在UINT8_N的情况下,ComSignalInitValue的长度必须与ComSignalLength的长度相同。 | +--------------------------+------------------+------------------------------------------------------+------------------------------------------------------+------------------------------------------------------+ | **ComTransferProperty** | 取值范围 | PENDING | 默认取值 | PENDING | | | | | | | | | | TRIGGERED TRIGGERED_ON_CHANGE | | | | | | | | | | | | TRIGGERED_ON_CHANGE_WITHOUT_REPETITION | | | | | | | | | | | | TRIGGERED_WITHOUT_REPETITION | | | | +------------------+------------------------------------------------------+------------------------------------------------------+------------------------------------------------------+ | | 参数描述 | 定义对此信号的写访问是否可以触发相应I-PDU的传输如果I-PDU被触发,则还取决于相应I-PDU的传输模式 | | +------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | | 依赖关系 | 无 | +--------------------------+------------------+------------------------------------------------------+------------------------------------------------------+------------------------------------------------------+ | **ComUpdateBitPosition** | 取值范围 | 0..4294967295 | 默认取值 | 无 | | +------------------+------------------------------------------------------+------------------------------------------------------+------------------------------------------------------+ | | 参数描述 | 更新位在I-PDU内的位位置 | | +------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | | 依赖关系 | 无 | +--------------------------+------------------+------------------------------------------------------+------------------------------------------------------+------------------------------------------------------+ | **ComGwIPduRef** | 取值范围 | 引用[ComIPdu] | 默认取值 | 无 | | +------------------+------------------------------------------------------+------------------------------------------------------+------------------------------------------------------+ | | 参数描述 | 引用Signal Gateway源或目的地描述的I-PDU | | +------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | | 依赖关系 | 无 | +--------------------------+------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ Crypto ------ CryptoDriverObjects ~~~~~~~~~~~~~~~~~~~ 设置CryptoQueueSize大小为5,选择后面设置的CryptoPrimitive. |image34| 图 Crypto设置 CryptoKeyElements ~~~~~~~~~~~~~~~~~ 添加密钥元素,后面的CryptoKeyTypes可选择此处设置的CryptoKeyElements作为密钥类型参考值。 |image35| |image36| 图 CryptoKeyElement设置 CryptoPrimitives ~~~~~~~~~~~~~~~~ 设置算法类型,此处设置为AES-CMAC算法,选择算法加密服务为MAC_GENERATE。 |image37| 图 Crypto设置 CryIf ----- CryIfIncludes ~~~~~~~~~~~~~~ 此处主要设置CryIf需要的头文件名,不需要添加.h后缀 |image38| 图 CryIf设置 CryIfChannel ~~~~~~~~~~~~~ 选择对应的底层驱动 |image39| 图 CryIf设置 CryIfKey ~~~~~~~~~ 添加底层驱动的密钥参考值 |image40| 图 CryIf设置 Csm --- CsmJobs ~~~~~~~~ 添加密钥管理服务的任务设置 CsmJobPriority:设置任务优先级 CsmProcessingMode:设置任务处理模式,可选择同步或者异步 CsmJobKeyRef:设置参考的密钥,在后面的CsmKeys中配置 CsmJobPrimitiveRef:设置任务原型,在后面的CsmPrimitives中配置 CsmJobQueueRef:设置任务队列,在后面的CsmQueues中配置 |image41| 图 Csm设置 CsmKeys ~~~~~~~~ |image42| 图 Csm设置 添加从If层设置的密钥 CsmPrimitives ~~~~~~~~~~~~~~ 设置加密原型 CsmMacGenerateAlgorithmFamily:设置加密服务的算法族 CsmMacGenerateAlgorithmKeyLength:设置MAC的长度16byte CsmMacGenerateAlgorithmMode:设置加密算法服务 CsmMacGenerateResultLength:设置输出的MAC长度16bytes |image43| 图 Csm设置 CsmQueues ~~~~~~~~~~ 设置Csm序列大小、If层设置的参考通道 |image44| 图 Csm设置 SecOC ------ Genernal ~~~~~~~~~ |image45| 图 General 1. MainFunction所放置的周期,通常放在10ms里面,此处写0.01。 表 General界面说明 +----------------------------------+----------------+--------------------+------------------+------------------+ | **UI名称** | **描述** | +----------------------------------+----------------+--------------------+------------------+------------------+ | **SecOCDevErrorDetect** | 取值范围 | True / False | 默认取值 | False | | +----------------+--------------------+------------------+------------------+ | | 参数描述 | 错误检查开关,表示是否打开DET错误检查机制 | | +----------------+----------------------------------------------------------+ | | 依赖关系 | 无 | +----------------------------------+----------------+--------------------+------------------+------------------+ | **SecOCMainFunctionPeriodRx/Tx** | 取值范围 | 0 .. 0.255 | 默认取值 | 无 | | +----------------+--------------------+------------------+------------------+ | | 参数描述 | SecOC模块MainFunction的调度周期 | | +----------------+----------------------------------------------------------+ | | 依赖关系 | 无 | | +----------------+----------------------------------------------------------+ | | 依赖关系 | 无 | +----------------------------------+----------------+--------------------+------------------+------------------+ | **SecOCVersionInfoApi** | 取值范围 | True / False | 默认取值 | False | | +----------------+--------------------+------------------+------------------+ | | 参数描述 | 用于配置SecOC_GetVersionInfo函数接口是否可用 | | +----------------+----------------------------------------------------------+ | | 依赖关系 | 无 | +----------------------------------+----------------+----------------------------------------------------------+ SecOCRxPduProcessing ~~~~~~~~~~~~~~~~~~~~~ |image46| 图 SecOCRxPduProcessings 如上图,SecOCRxPduProcessings为SecOCRxPduProcessing对象的集合,在该对象的右键菜单中,可添加0 .. n个SecOCRxPduProcessing对象。 |image47| 图 SecOCRxPduProcessing #. SecOCAuthInfoTxLength:描述的是MAC的长度。 #. SecOCDataId :和发送的ID需要一致,接收和发送是一组,具有唯一性。 #. SecOCFreshnessCounterSyncAttempts:新鲜度的尝试次数,也许会出现偶然新鲜度失败,可以通过多次尝试依旧接收报文。 #. SecOCFreshnessValueId:和发送的ID需要一致,接收和发送是一组,具有唯一性。 #. SecOCFreshnessValueLength:新鲜度在加密信息里所占用的长度,单位:Bits。 #. SecOCFreshnessValueTxLength:和SecOCFreshnessValueId保持一致即可。 #. SecOCVerificationStatusPropagationMode:参数用于描述从SecOC模块到SWCs的每次验证尝试状态的传播,此处包含失败通知,成功通知,和不通知,为了提高代码的效率,选择NONE。 #. SecOCRxAuthServiceConfigRef:算法选择,根据在Csm模块中配置的算法进行选择。 #. SecOCSecuredPduBuffLength:大于等于所有信息的长度即可,数组缓存SecOC报文(此例程大于16即可,单位Bytes)。 表 SecOCRxPduProcessing参数说明 +---------------------------------------------+----------------+----------------------------+--------------------+--------------------+ | **UI名称** | **描述** | +---------------------------------------------+----------------+----------------------------+--------------------+--------------------+ | **SecOCAuthInfoTxLength** | 取值范围 | 0 .. 64 | 默认取值 | 0 | | +----------------+----------------------------+--------------------+--------------------+ | | 参数描述 | 定义了添加在Secured I-PDU后面的Authentication code的长度,单位为bit | | +----------------+----------------------------------------------------------------------+ | | 依赖关系 | 无 | +---------------------------------------------+----------------+----------------------------+--------------------+--------------------+ | **SecOCDataId** | 取值范围 | 0 .. 65535 | 默认取值 | 0 | | +----------------+----------------------------+--------------------+--------------------+ | | 参数描述 | Secured I-PDU唯一的标识符 | | +----------------+----------------------------------------------------------------------+ | | 依赖关系 | 无 | +---------------------------------------------+----------------+----------------------------+--------------------+--------------------+ | **SecOCFreshnessCounterSyncAttempts** | 取值范围 | 0 .. 65535 | 默认取值 | 0 | | +----------------+----------------------------+--------------------+--------------------+ | | 参数描述 | 该参数定义了在校验Secured I-PDU失败后,尝试再校验的次数。 | | +----------------+----------------------------------------------------------------------+ | | 依赖关系 | 无 | +---------------------------------------------+----------------+----------------------------+--------------------+--------------------+ | **SecOCFreshnessTimestampTimePeriodFactor** | 取值范围 | 无 | 默认取值 | 无 | | +----------------+----------------------------+--------------------+--------------------+ | | 参数描述 | 该参数目前不可用,不可配置 | | +----------------+----------------------------------------------------------------------+ | | 依赖关系 | 无 | +---------------------------------------------+----------------+----------------------------+--------------------+--------------------+ | **SecOCFreshnessValueLength** | 取值范围 | 0 .. 64 | 默认取值 | 0 | | +----------------+----------------------------+--------------------+--------------------+ | | 参数描述 | 定义了Freshness Value的完整长度,单位为bit | | +----------------+----------------------------------------------------------------------+ | | 依赖关系 | 无 | +---------------------------------------------+----------------+----------------------------+--------------------+--------------------+ | **SecOCFreshnessValueTxLength** | 取值范围 | 0 .. 64 | 默认取值 | 0 | | +----------------+----------------------------+--------------------+--------------------+ | | 参数描述 | 定义了添加在Secured I-PDU后面的Freshness Value的长度,单位为bit | | +----------------+----------------------------------------------------------------------+ | | 依赖关系 | 无 | | +----------------+----------------------------------------------------------------------+ | | 参数描述 | 定义了用于认证和校验MAC时使用的key在本地的标识符 | | +----------------+----------------------------------------------------------------------+ | | 依赖关系 | 无 | +---------------------------------------------+----------------+----------------------------+--------------------+--------------------+ | **SecOCRxAcceptanceWindow** | 取值范围 | 无 | 默认取值 | 无 | | +----------------+----------------------------+--------------------+--------------------+ | | 参数描述 | 该参数目前未使用,不可配置 | | +----------------+----------------------------------------------------------------------+ | | 依赖关系 | 无 | +---------------------------------------------+----------------+----------------------------+--------------------+--------------------+ | **SecOCSecondaryFreshnessValueId** | 取值范围 | 0 .. 65535 | 默认取值 | 0xFFFF | | +----------------+----------------------------+--------------------+--------------------+ | | 参数描述 | Secondary Freshness Value的Id | | +----------------+----------------------------------------------------------------------+ | | 依赖关系 | 无 | +---------------------------------------------+----------------+----------------------------+--------------------+--------------------+ | **SecOCUseFreshnessTimestamp** | 取值范围 | False | 默认取值 | False | | +----------------+----------------------------+--------------------+--------------------+ | | 参数描述 | 该参数固定为False,不可配置 | | +----------------+----------------------------------------------------------------------+ | | 依赖关系 | 无 | +---------------------------------------------+----------------+----------------------------+--------------------+--------------------+ | **SecOCVerificationStatusPropagationMode** | 取值范围 | BOTH FAILURE_ONLY | 默认取值 | NONE | | | | | | | | | | NONE | | | | +----------------+----------------------------+--------------------+--------------------+ | | 参数描述 | 用于定义在那种校验结果下,通知用户: | | | | | | | | BOTH: 在校验结果成功和失败时都通知用户 | | | | | | | | FAILURE_ONLY:只在校验失败时通知用户 | | | | | | | | NONE:任何结果都不通知用户 | | +----------------+----------------------------------------------------------------------+ | | 依赖关系 | 无 | +---------------------------------------------+----------------+----------------------------+--------------------+--------------------+ | **SecOCRxAuthServiceConfigRef** | 取值范围 | Csm模块选择 | 默认取值 | | | +----------------+----------------------------+--------------------+--------------------+ | | 参数描述 | 进行校验时使用的算法 | | +----------------+----------------------------------------------------------------------+ | | 依赖关系 | 无 | +---------------------------------------------+----------------+----------------------------+--------------------+--------------------+ | **SecOCAuthenticPduBuffLength** | 取值范围 | 0 .. 65535 | 默认取值 | 0 | | +----------------+----------------------------+--------------------+--------------------+ | | 参数描述 | 用于存储Authentic PDU的buffer的长度 | | +----------------+----------------------------------------------------------------------+ | | 依赖关系 | 无 | +---------------------------------------------+----------------+----------------------------+--------------------+--------------------+ | **SecOCSecuredPduBuffLength** | 取值范围 | 0 .. 65535 | 默认取值 | 0 | | +----------------+----------------------------+--------------------+--------------------+ | | 参数描述 | 用于存储Secured PDU的buffer的长度 | | +----------------+----------------------------------------------------------------------+ | | 依赖关系 | 无 | | +----------------+----------------------------------------------------------------------+ | | 参数描述 | CSM或CAL模块中用于提供该PDU校验服务所配置的Id | | +----------------+----------------------------------------------------------------------+ | | 依赖关系 | 无 | +---------------------------------------------+----------------+----------------------------+--------------------+--------------------+ | **SecOCSameBufferPduRef** | 取值范围 | 引用到配置的samebuffer对象 | 默认取值 | 无 | | +----------------+----------------------------+--------------------+--------------------+ | | 参数描述 | 如果使用SameBuffer,则指向一个配置的SameBuffer对象 | | +----------------+----------------------------------------------------------------------+ | | 依赖关系 | 无 | +---------------------------------------------+----------------+----------------------------------------------------------------------+ SecOCRxAuthenticPduLayer ^^^^^^^^^^^^^^^^^^^^^^^^^ |image48| 图 SecOCRxAuthenticPduLayer #. SecOCPduType:选择所走的协议,此例程为If。 #. SecOCRxAuthenticLayerPduRef:SecOc_RxPduA。 表 SecOCRxAuthenticPduLayer参数说明 +---------------------------------+---------------+-------------------+---------------+---------------+---------------+ | **UI名称** | **描述** | +---------------------------------+---------------+-------------------+-------------------------------+---------------+ | **SecOCPduType** | 取值范围 | SECOC_IFPDU | 默认取值 | SECOC_IFPDU | | | | | | | | | | SECOC_TPPDU | | | | +---------------+-------------------+-------------------------------+---------------+ | | 参数描述 | 表示PDU的类型是IF PDU还是TP PDU | | +---------------+-------------------------------------------------------------------+ | | 依赖关系 | 无 | +---------------------------------+---------------+-----------------------------------+---------------+---------------+ | **SecOCRxAuthenticLayerPduRef** | 取值范围 | ECUC中定义的PDU | 默认取值 | 无 | | +---------------+-----------------------------------+---------------+---------------+ | | 参数描述 | SecOCRxAuthenticPduLayer对应的PDU | | +---------------+-------------------------------------------------------------------+ | | 依赖关系 | 无 | +---------------------------------+---------------+-------------------------------------------------------------------+ SecOCRxSecuredPduLayer ^^^^^^^^^^^^^^^^^^^^^^^ SecOCRxSecuredLayerPduRef:SecOc_RxPduS。 |image49| 图 SecOCRxSecuredPduLayer 表 SecOCRxSecuredPduLayer参数说明 +----------------------------+----------------+--------------------+-----------------+-----------------+ | **UI名称** | **描述** | +----------------------------+----------------+--------------------+-----------------+-----------------+ | **SecOCRxSecuredPduLayer** | 取值范围 | ECUC中定义的PDU | 默认取值 | 无 | | +----------------+--------------------+-----------------+-----------------+ | | 参数描述 | SecOCRxSecuredPduLayer对应的PDU | | +----------------+--------------------------------------------------------+ | | 依赖关系 | 无 | +----------------------------+----------------+--------------------------------------------------------+ SecOCTxPduProcessing ~~~~~~~~~~~~~~~~~~~~~ |image50| 图 SecOCTxPduProcessings 如上图,SecOCTxPduProcessings为SecOCTxPduProcessing对象的集合,在该对象的右键菜单中,可添加0 .. n个SecOCTxPduProcessing对象。 |image51| 图 SecOCTxPduProcessing #. SecOCAuthInfoTxLength:描述的是MAC的长度。 #. SecOCDataId :和发送的ID需要一致,接收和发送是一组,具有唯一性。 #. SecOCAuthenticationBuildAttempts:新鲜度的尝试次数,也许会出现偶然新鲜度失败,可以通过多次尝试依旧接收报文。 #. SecOCFreshnessValueId:和发送的ID需要一致,接收和发送是一组,具有唯一性。 #. SecOCFreshnessValueLength:新鲜度在加密信息里所占用的长度,单位:Bits。 #. SecOCFreshnessValueTruncLength:和SecOCFreshnessValueLength保持一致即可。 #. SecOCAuthenticPduBuffLength:大于等于真实信息的长度即可,数组缓存SecOC报文(此例程大于8即可,单位Bytes)。 #. SecOCSecuredPduBuffLength:大于等于所有信息的长度即可,数组缓存SecOC报文(此例程大于16即可,单位Bytes)。 #. SecOCTxAuthServiceConfigRef:算法选择,从Csm中选择对应的CsmJob。 表 SecOCTxPduProcessing参数说明 +---------------------------------------------+----------------+----------------------------+--------------------+--------------------+ | **UI名称** | **描述** | +---------------------------------------------+----------------+----------------------------+--------------------+--------------------+ | **SecOCAuthInfoTxLength** | 取值范围 | 0 .. 64 | 默认取值 | 0 | | +----------------+----------------------------+--------------------+--------------------+ | | 参数描述 | 定义了添加在Secured I-PDU后面的Authentication code的长度,单位为bit | | +----------------+----------------------------------------------------------------------+ | | 依赖关系 | 无 | +---------------------------------------------+----------------+----------------------------+--------------------+--------------------+ | **SecOCAuthenticationRetries** | 取值范围 | 0 .. 65535 | 默认取值 | 0 | | +----------------+----------------------------+--------------------+--------------------+ | | 参数描述 | 定义了在生成认证信息失败后再次尝试的次数 | | +----------------+----------------------------------------------------------------------+ | | 依赖关系 | 无 | +---------------------------------------------+----------------+----------------------------+--------------------+--------------------+ | **SecOCDataId** | 取值范围 | 0 .. 65535 | 默认取值 | 0 | | +----------------+----------------------------+--------------------+--------------------+ | | 参数描述 | Secured I-PDU唯一的标识符 | | +----------------+----------------------------------------------------------------------+ | | 依赖关系 | 无 | +---------------------------------------------+----------------+----------------------------+--------------------+--------------------+ | **SecOCFreshnessTimestampTimePeriodFactor** | 取值范围 | 无 | 默认取值 | 无 | | +----------------+----------------------------+--------------------+--------------------+ | | 参数描述 | 该参数目前不可用,不可配置 | | +----------------+----------------------------------------------------------------------+ | | 依赖关系 | 无 | +---------------------------------------------+----------------+----------------------------+--------------------+--------------------+ | **SecOCFreshnessValueLength** | 取值范围 | 0 .. 64 | 默认取值 | 0 | | +----------------+----------------------------+--------------------+--------------------+ | | 参数描述 | 定义了Freshness Value的完整长度,单位为bit | | +----------------+----------------------------------------------------------------------+ | | 依赖关系 | 无 | +---------------------------------------------+----------------+----------------------------+--------------------+--------------------+ | **SecOCFreshnessValueTxLength** | 取值范围 | 0 .. 64 | 默认取值 | 0 | | +----------------+----------------------------+--------------------+--------------------+ | | 参数描述 | 定义了添加在Secured I-PDU后面的Freshness Value的长度,单位为bit | | +----------------+----------------------------------------------------------------------+ | | 依赖关系 | 无 | +---------------------------------------------+----------------+----------------------------+--------------------+--------------------+ | **SecOCKeyId** | 取值范围 | 0 .. 65535 | 默认取值 | 0 | | +----------------+----------------------------+--------------------+--------------------+ | | 参数描述 | 定义了用于认证和校验MAC时使用的key在本地的标识符 | | +----------------+----------------------------------------------------------------------+ | | 依赖关系 | 无 | +---------------------------------------------+----------------+----------------------------+--------------------+--------------------+ | **SecOCUseFreshnessTimestamp** | 取值范围 | False | 默认取值 | False | | +----------------+----------------------------+--------------------+--------------------+ | | 参数描述 | 该参数固定为False,不可配置 | | +----------------+----------------------------------------------------------------------+ | | 依赖关系 | 无 | +---------------------------------------------+----------------+----------------------------+--------------------+--------------------+ | **SecOCAuthenticPduBuffLength** | 取值范围 | 0 .. 65535 | 默认取值 | 0 | | +----------------+----------------------------+--------------------+--------------------+ | | 参数描述 | 用于存储Authentic PDU的buffer的长度 | | +----------------+----------------------------------------------------------------------+ | | 依赖关系 | 无 | +---------------------------------------------+----------------+----------------------------+--------------------+--------------------+ | **SecOCSecuredPduBuffLength** | 取值范围 | 0 .. 65535 | 默认取值 | 0 | | +----------------+----------------------------+--------------------+--------------------+ | | 参数描述 | 用于存储Secured PDU的buffer的长度 | | +----------------+----------------------------------------------------------------------+ | | 依赖关系 | 无 | +---------------------------------------------+----------------+----------------------------+--------------------+--------------------+ | **SecOCCsmCalCfgId** | 取值范围 | 0 .. 65535 | 默认取值 | 0 | | +----------------+----------------------------+--------------------+--------------------+ | | 参数描述 | Csm或CAL模块中用于提供该PDU校验服务所配置的Id | | +----------------+----------------------------------------------------------------------+ | | 依赖关系 | 无 | +---------------------------------------------+----------------+----------------------------+--------------------+--------------------+ | **SecOCRxAuthServiceConfigRef** | 取值范围 | SECOC_CALMAC | 默认取值 | SECOC_CSMMAC | | | | | | | | | | SECOC_CALSIGNATURE | | | | | | | | | | | | SECOC_CSMMAC | | | | | | | | | | | | SECOC_CSMSIGNATURE | | | | +----------------+----------------------------+--------------------+--------------------+ | | 参数描述 | 进行校验时使用的算法 | | +----------------+----------------------------------------------------------------------+ | | 依赖关系 | 无 | +---------------------------------------------+----------------+----------------------------+--------------------+--------------------+ | **SecOCSameBufferPduRef** | 取值范围 | 引用到配置的samebuffer对象 | 默认取值 | 无 | | +----------------+----------------------------+--------------------+--------------------+ | | 参数描述 | 如果使用SameBuffer,则指向一个配置的SameBuffer对象 | | +----------------+----------------------------------------------------------------------+ | | 依赖关系 | 无 | +---------------------------------------------+----------------+----------------------------------------------------------------------+ SecOCTxAuthenticPduLayer ^^^^^^^^^^^^^^^^^^^^^^^^^ |image52| 图 SecOCTxAuthenticPduLayer #. SecOCPduType:选择所走的协议,此例程为If。 #. SecOCTxAuthenticLayerPduRef:SecOc_TxPduA。 表 SecOCTxAuthenticPduLayer参数说明 +---------------------------------+----------------+--------------------+-----------------+-----------------+ | **UI名称** | **描述** | +---------------------------------+----------------+--------------------+-----------------+-----------------+ | **SecOCPduType** | 取值范围 | SECOC_IFPDU | 默认取值 | SECOC_IFPDU | | | | | | | | | | SECOC_TPPDU | | | | +----------------+--------------------+-----------------+-----------------+ | | 参数描述 | 表示PDU的类型是IF PDU还是TP PDU | | +----------------+--------------------------------------------------------+ | | 依赖关系 | 无 | +---------------------------------+----------------+--------------------+-----------------+-----------------+ | **SecOCTxAuthenticLayerPduRef** | 取值范围 | ECUC中定义的PDU | 默认取值 | 无 | | +----------------+--------------------+-----------------+-----------------+ | | 参数描述 | SecOCTxAuthenticPduLayer对应的PDU | | +----------------+--------------------------------------------------------+ | | 依赖关系 | 无 | +---------------------------------+----------------+--------------------------------------------------------+ SecOCTxSecuredPduLayer ^^^^^^^^^^^^^^^^^^^^^^^ |image53| 图 SecOCTxSecuredPduLayer SecOCTxSecuredLayerPduRef:SecOc_TxPduS。 表 SecOCTxSecuredPduLayer参数说明 +----------------------------+----------------+--------------------+-----------------+-----------------+ | **UI名称** | **描述** | +----------------------------+----------------+--------------------+-----------------+-----------------+ | **SecOCTxSecuredPduLayer** | 取值范围 | ECUC中定义的PDU | 默认取值 | 无 | | +----------------+--------------------+-----------------+-----------------+ | | 参数描述 | SecOCTxSecuredPduLayer对应的PDU | | +----------------+--------------------------------------------------------+ | | 依赖关系 | 无 | +----------------------------+----------------+--------------------------------------------------------+ 代码例程 ======== 代码结构 -------- 示例集成通讯安全模块代码框架如下: |image54| 图 代码框架 源代码调度集成 -------------- 包含了模块初始化和Csm密钥的有效性验证。 |image55| 图 代码初始化 信息的加密和解密是下函数,放置在5ms周期里面,进行周期的处理发送和接收的SecOC报文。 |image56| 图 周期处理函数 测试结果 -------- 发送测试 ~~~~~~~~ 需要在Rte_SecOC.c的函数FreshnessManagement_GetTxFreshness中添加对入参freshnessValue的操作,作为观察周期发送的新鲜度值的依据,以下为一个简单的周期更新计算方法: |image57| 在CAN监测工具里面观察数据新鲜度的变化是否连续。新鲜度在本例程里占2Bytes,在真实数据的后面。 |image58| 图 发送报文验证 接收测试 ~~~~~~~~ 向对应的SecOC邮箱发送一条报文,检查是否可以进对应的SecOC_RxIndication。 收到校验通过的报文后,可进入COM配置中信号接收callout函数。 |image59| 图 配置测试用callout函数 |image60| 图 接收报文验证 .. |image1| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image2.png :width: 5.76736in :height: 3.13472in .. |image2| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image3.png :width: 5.76597in :height: 5.09931in .. |image3| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image4.png :width: 4.76111in :height: 4.60347in .. |image4| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image5.png :width: 4.44792in :height: 3.69375in .. |image5| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image6.png :width: 4.28542in :height: 2.54097in .. |image6| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image7.png :width: 4.10139in :height: 2.58194in .. |image7| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image8.png :width: 3.97917in :height: 3.06597in .. |image8| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image9.png :width: 2.56111in :height: 2.42917in .. |image9| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image10.png :width: 2.66736in :height: 4.50833in .. |image10| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image11.png :width: 2.46501in :height: 2.01876in .. |image11| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image12.png :width: 5.65283in :height: 3.25965in .. |image12| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image13.png :width: 3.44522in :height: 2.66342in .. |image13| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image14.png :width: 5.98979in :height: 2.11824in .. |image14| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image15.png :width: 3.05931in :height: 3.44533in .. |image15| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image16.png :width: 4.45069in :height: 4.45069in .. |image16| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image17.png :width: 5.76667in :height: 3.26806in .. |image17| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image18.png :width: 5.76389in :height: 3.19028in .. |image18| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image19.png :width: 5.76181in :height: 3.32222in .. |image19| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image20.png :width: 4.97639in :height: 5.56806in .. |image20| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image21.png :width: 8.26736in :height: 2.83542in .. |image21| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image22.png :width: 5.76319in :height: 2.8375in .. |image22| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image23.png :width: 5.75833in :height: 3.04792in .. |image23| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image24.png :width: 5.75417in :height: 2.9875in .. |image24| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image25.png :width: 5.75972in :height: 3.03403in .. |image25| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image26.png :width: 8.26736in :height: 2.83542in .. |image26| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image27.png :width: 5.76111in :height: 2.95833in .. |image27| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image28.png :width: 5.75833in :height: 3.04306in .. |image28| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image29.png :width: 5.7625in :height: 3.04306in .. |image29| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image30.png :width: 5.7625in :height: 3.11806in .. |image30| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image31.png :width: 5.76667in :height: 1.40139in .. |image31| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image32.png :width: 5.76111in :height: 1.40694in .. |image32| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image33.png :width: 5.75278in :height: 3.03611in .. |image33| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image34.png :width: 5.75694in :height: 3.24028in .. |image34| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image35.png :width: 5.75625in :height: 3.71667in .. |image35| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image36.png :width: 5.76528in :height: 3.56319in .. |image36| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image37.png :width: 5.76458in :height: 3.55in .. |image37| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image38.png :width: 5.75694in :height: 3.62847in .. |image38| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image39.png :width: 4.66461in :height: 1.10956in .. |image39| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image40.png :width: 5.76458in :height: 1.30069in .. |image40| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image41.png :width: 5.76458in :height: 1.1875in .. |image41| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image42.png :width: 5.37611in :height: 2.10642in .. |image42| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image43.png :width: 4.94861in :height: 1.21319in .. |image43| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image44.png :width: 5.76458in :height: 3.44444in .. |image44| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image45.png :width: 5.75694in :height: 3.57361in .. |image45| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image46.png :width: 2.19375in :height: 2.61875in .. |image46| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image47.png :width: 2.28034in :height: 1.0297in .. |image47| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image48.png :width: 5.75625in :height: 3.52361in .. |image48| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image49.png :width: 5.75694in :height: 1.82639in .. |image49| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image50.png :width: 5.75833in :height: 2.00556in .. |image50| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image51.png :width: 3.24653in :height: 1.55903in .. |image51| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image52.png :width: 5.76667in :height: 3.53056in .. |image52| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image53.png :width: 5.75486in :height: 1.88125in .. |image53| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image54.png :width: 5.76319in :height: 2.02292in .. |image54| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image55.png :width: 4.48958in :height: 3.73958in .. |image55| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image56.png :width: 5.76111in :height: 5.99167in .. |image56| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image57.png :width: 5.76111in :height: 5.88056in .. |image57| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image58.png :width: 5.9625in :height: 2.21528in .. |image58| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image59.png :width: 7.9625in :height: 6.21528in .. |image59| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image60.png :width: 3.9625in :height: 2.21528in .. |image60| image:: /_static/集成手册(Integration_Instruction_Manual)/集成手册_SecOC/image61.png :width: 3.9625in :height: 2.21528in